﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MensErgerJeNiet.Includes;
using MensErgerJeNiet.Model.Vakjes;

namespace MensErgerJeNiet.Model
{
    class Speler
    {
        public String Naam { get; set; }
	    public Kleur Kleur { get; set; }
        public BeginSpeelVeldVakje beginSpeelVeldVakje { get; set; }
        public EindVakje[] eindVakjes = new EindVakje[4];
        public BeginVakje[] beginVakjes = new BeginVakje[4];
        //public Pion CurrentSelectedPion { get; set; } //voor drag n drop pion - MOET DENK NIET IN MODEL!
        public Pion[] PionnenLijst = new Pion[4]; //speler heeft altijd 4 pionnen
        
        public Speler()
        {
            for (int i = 0; i < PionnenLijst.Length; i++)
            {
                PionnenLijst[i] = new Pion();

                beginVakjes[i] = new BeginVakje();
                beginVakjes[i].Type = VakjeType.BEGINVAKJE;
                beginVakjes[i].ID = i*100;
                beginVakjes[i].VanSpeler = this;

                eindVakjes[i] = new EindVakje();
                eindVakjes[i].Type = VakjeType.EINDVAKJE;
                eindVakjes[i].ID = (97 + i);
                eindVakjes[i].VanSpeler = this;
                eindVakjes[i].Letter =((char)(97+i)).ToString(); //ket a tm d toe
                if(i > 0)
                {
                    eindVakjes[i - 1].Next = eindVakjes[i];
                    eindVakjes[i].Previous = eindVakjes[i - 1];
                }
            }
        }

        public string EindVakjesToString()
        {
            string totStr = "Eindvakjes: " + Naam + "\n";
            foreach (EindVakje eindVakje in eindVakjes)
            {
                bool bevatPion = false;
                if (eindVakje.SpelerPion != null)
                    bevatPion = true;
                totStr += "eindvakje: " + eindVakje.Letter + ", pion: " + bevatPion + "\n";
            }
            totStr += "\n";
            return totStr;
        }

        public string BeginVakjesToString()
        {
            string totStr = "Beginvakjes: " + Naam + "\n";
            foreach (BeginVakje eindVakje in beginVakjes)
            {
                bool bevatPion = false;
                if (eindVakje.SpelerPion != null)
                    bevatPion = true;
                totStr += "eindvakje: " + eindVakje.ID + ", pion: " + bevatPion + "\n";
            }
            totStr += "\n";
            return totStr;
        }
    }
}
